/*
  学习目标：setState更新数据是异步的
*/

import React, { Component } from 'react';

export default class App extends Component {
  state = {
    count: 0,
  };

  handleAdd = () => {
    this.setState({ count: this.state.count + 1 });
    this.setState({ count: this.state.count + 2 });
    this.setState({ count: this.state.count + 3 });
  };

  // **实现原理：**要更新的数据，放到一个更新队列里面，合并执行。
  // **合并**：**后面覆盖前面：**最后一个`setState()` 会覆盖前面所有的`setState()`

  render() {
    // **设计目的：**减少render渲染次数，提高更新DOM效率。
    console.log('render执行了  ----->  ');
    return (
      <div>
        <h1>{this.state.count}</h1>
        <button onClick={this.handleAdd}>+1</button>
      </div>
    );
  }
}
